home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
MACD 5
/
MACD 5.bin
/
workbench
/
tools
/
czesc_3
/
remindme
/
remindme.doc
< prev
Wrap
Text File
|
1994-09-11
|
13KB
|
327 lines
*****************************************************************************
* *
* Documentation for *
* *
* -- RemindMe V1.0 -- *
* *
* Copyright © 1994 Marcus Stratmann *
* *
*****************************************************************************
SHORT DESCRIPTION
RemindMe is a simple events reminder. It reads the events from a file
and checks if the user should be notified. Weekly, monthly, yearly and
unique events are possible.
CONTENTS
The RemindMe package includes the following files:
.Product-Info the product description
RemindDates a sample events file
RemindMe the main program
RemindMe.doc the documentation
DISTRIBUTION
RemindMe is FREEWARE.
This program may be freely distributed as long as all files of the
package remain unchanged and are included with the distribution.
Any commercial distribution of this package without the prior written
consent of the author (Marcus Stratmann) is expressly prohibited.
Copyright © 1994 by Marcus Stratmann
REQUIREMENTS
This program should run on any AMIGA. If it doesn't: please tell me!
INSTALLATION
Copy RemindMe into your C: directory or any other directory which is in
your search path. Copy the file RemindDates into your S: directory and
enter your own events. Include RemindMe in your startup-sequence. When
RemindMe is called, the current date should be set correctly, so you
better call SetClock before. The lines in your startup-sequence may look
like this:
...
SetClock load
RemindMe
...
FORMAT OF THE EVENTS FILE
Your personal events are described in the file S:RemindDates.
Each line contains the description of one event.
Comments start with a semicolon (;) in the FIRST row of a line. The
whole line is considered as a comment and is ignored.
You can use one of the following formats for each event:
WEEKLY weekday [WARN warndays] MESSAGE event-message
MONTHLY monthday [WARN warndays] MESSAGE event-message
YEARLY yearday [WARN warndays] MESSAGE event-message
UNIQUE date [WARN warndays] MESSAGE event-message
For specification of the header use the format
HEADER header-message
Statements in [] are optional and can be omitted.
RemindMe doesn't distinguish between uper and lower case. So "WEEKLY"
is the same as "weekly" or "WeEkLy".
You can use some special codes for your header- and event-messages.
These are indicated by a backslash "\" followed by a character.
Special codes are:
\e escape character (ASCII 27)
\f form feed (clears the screen)
\n line feed (new line)
\t vorizontal tab
\\ a backslash ("\")
Description of the keywords and their parameters:
HEADER header-message
This defines the message RemindMe displays first when it notifies you
of your events. Everything in the line after the keyword HEADER is
considered as your header-message (except leading blanks).
If HEADER is specified more than once, RemindMe will take the last
header-message.
When there are no events to remind you of RemindMe doesn't display
the header-message.
WARN warndays
This is the number of days you want to be notified before the event
takes place. When the number of days until the event is less or equal
to the value of warndays RemindMe will display the message belonging
to the event. A value of zero for warndays means that RemindMe
only notifies you on the day of the event, not before.
If you specify a negativ number, RemindMe will take its absolute
value.
If WARN is omitted, RemindMe assumes a value of zero for warndays.
MESSAGE event-message
Everything in the line after the keyword MESSAGE is taken as the
event-message (except leading blanks). This is displayed together
with the date of and the number of days to the event.
The length of the message is limited to 80 characters.
WEEKLY weekday
This defines a weekly event.
weekday should be replaced by one of the following:
MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY
This is the weekday your weekly event is going to happen.
* NOTE: RemindMe always takes the next possible date which matches
the specification. E.g. if you say
WEEKLY MONDAY WARN 14 MESSAGE Monday again!
RemindMe will only remind you of the next monday and not of the
monday seven days later, though it is in the range of 14 warndays,
too. This is also effective for MONTHLY and YEARLY.
MONTHLY monthday
This defines a monthly event.
Valid numbers for monthday are 1 to 31 and -1 TO -31.
A positive number stands for the corresponding day of the month.
If a negative number is specified, the days are counted from behind.
So -1 belongs to the last day of the month (not 0!) and in a month
with 30 days, -30 belongs to the first day of the month.
If a month doesn't have the required number of days, the next
matching month is taken.
YEARLY yearday
This defines a yearly event.
yearday is of the form day.month. where day and month are both
numbers. RemindMe checks if the date is valid.
UNIQUE date
This defines an event that takes place only once.
date is of the form day.month.year where day, month and year are
all numbers. Don't forget the century when specifying the date;
1994 and 94 are different years! Again, the validity of the date
is checked.
COMMAND-LINE OPTIONS
The syntax for the RemindMe command line is given as:
RemindMe [ALL] [TEST]
The text in brackets ("[]") indicates an optional parameter.
Here's the meaning of the options:
ALL
Normally RemindMe will display only those events whose occurrence
lie in the specified warndays range. But when the option ALL is
given, RemindMe will display all events, even those whose occurrence
does not lie in the warndays range.
Use this to see which events you have entered in the events file
S:RemindDates.
TEST
When reading the file S:RemindDates the program will not report any
errors or warnings. If you want to test, if your events file is ok,
use the TEST option. RemindMe will then report possible errors and
give you the corresponding line numbers.
OUTPUT OF THE PROGRAM
Let's have a look at the output RemindMe produces. I started the program
on 11-Oct-1994 from the command line with
RemindMe ALL TEST
and with the sample events file of this this archiv in use.
Here's the output of the program:
RemindMe V1.0, Copyright (c) 1994 Marcus Stratmann.
Error line 16: Illegal weekday
Warning line 18: Obsolete date
1 error(s), 1 warning(s).
don't forget:
tomorrow (Mo, 12-Sep-1994): Oh no, monday again!
in 4 days (Th, 15-Sep-1994): This is the 15th day of the month
in 19 days (Fr, 30-Sep-1994): Month is over! Any money left?
in 20 days (Sa, 1-Oct-1994): This is the first day of the next month ...
in 50 days (Mo, 31-Oct-1994): This is the 31st day of the month
in 104 days (Sa, 24-Dec-1994): Christmas! Don't forget the presents!
in 386 days (Mo, 2-Oct-1995): This is a monday, too.
in 536 days (Th, 29-Feb-1996): Intercalary day
In the first line you find the program name, version and copyright note.
This is only output when the TEST option is active.
The next lines give you a summary of the errors and warnings. As you can
see, in line 16 an illegal weekday was specified (moonday instead of
monday) which gives you an error message. In line 18 of the events file
the date 01.03.1966 was used which is more than 28 years over. This
results in the warning "obsolete date".
* NOTE: RemindMe never changes the events file! That means it doesn't
discard obsolete events. This prevents data losses due to a wrong current
date set.
The errors and warnings summary is displayed only when the TEST option
is active.
The next part of the output gives a summary of the events. As I used the
ALL options, all events from the events file are displayed. Events which
lie in the past are not shown.
In the first line of this part the header-message is shown. If you don't
specify a header-message, none is shown (you guessed that, hm? :-)
For each event you get:
- the days until the occurence of the event (0 days is replaced by
"today", 1 day by "tomorrow")
- the date of the event in the form <weekday, day-month-year>
- the message for the event
This part of the output is shown only when there are any events to be
displayed.
ERRORS, WARNINGS AND RETURN CODES
There are two differnt kind of error: "hard" errors and "soft" errors.
Soft errors occur when RemindMe reads the events file and finds a
syntactic error in it. In this case it skips to the next line. If the
TEST option is active, you get an error message indicating the line
number and the cause of the error. Soft errors don't interrupt the
program.
All other errors are hard errors. These result in the termination of the
program, as something really important went wrong. Hard errors are shown
even if the TEST option is not set.
Warnings inform you that something unexpected has happen, which doesn't
seriously affect the execution of the program. As in the case of soft
errors, warnings are displayed only if the TEST option is active.
Hard errors:
File not found
The events file S:RemindDates wasn't found.
Can't examine file
The progaram couldn't examine the length of the events file.
This should be a file, not a directory
S:RemindDates is a directory, not a file.
File is empty
The file S:RemindDates is empty.
No Memory
There is not enough free memory for the program.
Can't open file
The program can't open the events file.
Error reading file
An error occurred while reading from the file.
Date seems to be wrong
The current date seems to be wrong. You get this message when the
year is set to less then 1994.
Soft errors:
Illegal weekday
The weekday after the keyword WEEKLY is wrong. Legal weekdays are
MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY
Illegal day
The day after the keyword MONTHLY is wrong. Valid numbers are
1 to 31 and -1 TO -31.
Illegal date
The date after one of the keywords YEARLY or UNIQUE is wrong.
The format is day.month. for YEARLY and day.month.year for UNIQUE.
Maybe you forgot a "." or you stated a date which doesn't exist.
Remember that all parts of the date consist of numbers, so don't
use something like "oct" for the month.
MESSAGE expected
The program didn't find the keyword MESSAGE. Every event needs a
message (which might be empty) following the MESSAGE keyword.
Keyword expected
The program expected one of the keywords WEEKY, MONTHLY, YEARLY,
UNIQUE, HEADER. This might be a sequel of an error in the line before.
To protect you from such consequences you should use only one line
for each event.
Illegal number
The program unsuccessfully tried to read a number (e.g. the day of a
date).
String too long
The length of a string the program can read is limited to 100 char-
acters. You stated a string (e.g. a date) which is longer than 100
characters.
Warnings:
Obsolete date
The date stated after UNIQUE is obsolete. You should erase this line
from the events file.
Message truncated
The length of messages is limited to 80 characters. If your message
is longer, the program will truncate it.
Return codes:
This is what the program gives back to the operating system when it
quits. The code for warnings is 5, for soft errors 10 and for hard
errors 20 (except for 'wrong date', which gives back 10). The highest
error code which occures is given back as the return code.
THE AUTHOR
Send bug reports, suggestions, money, food :-) or other nice things to:
Marcus Stratmann
Böttcherstr. 13
46244 Kirchhellen
Germany
E-Mail: uste01@unidozr.hrz.uni-dortmund.de (until March 1995)
"Der Tag würde mehr Spaß machen, wenn er später anfinge."